﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02001437 RID: 5175
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class TrainVisitorRewardSendNotify : IMessage<TrainVisitorRewardSendNotify>, IMessage, IEquatable<TrainVisitorRewardSendNotify>, IDeepCloneable<TrainVisitorRewardSendNotify>, IBufferMessage
	{
		// Token: 0x17004137 RID: 16695
		// (get) Token: 0x0600E7A0 RID: 59296 RVA: 0x0026B36B File Offset: 0x0026956B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<TrainVisitorRewardSendNotify> Parser
		{
			get
			{
				return TrainVisitorRewardSendNotify._parser;
			}
		}

		// Token: 0x17004138 RID: 16696
		// (get) Token: 0x0600E7A1 RID: 59297 RVA: 0x0026B372 File Offset: 0x00269572
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return TrainVisitorRewardSendNotifyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17004139 RID: 16697
		// (get) Token: 0x0600E7A2 RID: 59298 RVA: 0x0026B384 File Offset: 0x00269584
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return TrainVisitorRewardSendNotify.Descriptor;
			}
		}

		// Token: 0x0600E7A3 RID: 59299 RVA: 0x0026B38B File Offset: 0x0026958B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TrainVisitorRewardSendNotify()
		{
		}

		// Token: 0x0600E7A4 RID: 59300 RVA: 0x0026B394 File Offset: 0x00269594
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TrainVisitorRewardSendNotify(TrainVisitorRewardSendNotify other) : this()
		{
			this.type_ = other.type_;
			this.reward_ = ((other.reward_ != null) ? other.reward_.Clone() : null);
			this.visitorId_ = other.visitorId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600E7A5 RID: 59301 RVA: 0x0026B3EC File Offset: 0x002695EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TrainVisitorRewardSendNotify Clone()
		{
			return new TrainVisitorRewardSendNotify(this);
		}

		// Token: 0x1700413A RID: 16698
		// (get) Token: 0x0600E7A6 RID: 59302 RVA: 0x0026B3F4 File Offset: 0x002695F4
		// (set) Token: 0x0600E7A7 RID: 59303 RVA: 0x0026B3FC File Offset: 0x002695FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public TrainVisitorRewardSendType Type
		{
			get
			{
				return this.type_;
			}
			set
			{
				this.type_ = value;
			}
		}

		// Token: 0x1700413B RID: 16699
		// (get) Token: 0x0600E7A8 RID: 59304 RVA: 0x0026B405 File Offset: 0x00269605
		// (set) Token: 0x0600E7A9 RID: 59305 RVA: 0x0026B40D File Offset: 0x0026960D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemList Reward
		{
			get
			{
				return this.reward_;
			}
			set
			{
				this.reward_ = value;
			}
		}

		// Token: 0x1700413C RID: 16700
		// (get) Token: 0x0600E7AA RID: 59306 RVA: 0x0026B416 File Offset: 0x00269616
		// (set) Token: 0x0600E7AB RID: 59307 RVA: 0x0026B41E File Offset: 0x0026961E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint VisitorId
		{
			get
			{
				return this.visitorId_;
			}
			set
			{
				this.visitorId_ = value;
			}
		}

		// Token: 0x0600E7AC RID: 59308 RVA: 0x0026B427 File Offset: 0x00269627
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as TrainVisitorRewardSendNotify);
		}

		// Token: 0x0600E7AD RID: 59309 RVA: 0x0026B438 File Offset: 0x00269638
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(TrainVisitorRewardSendNotify other)
		{
			return other != null && (other == this || (this.Type == other.Type && object.Equals(this.Reward, other.Reward) && this.VisitorId == other.VisitorId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600E7AE RID: 59310 RVA: 0x0026B498 File Offset: 0x00269698
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Type != TrainVisitorRewardSendType.TrainVisitorRewardSendNone)
			{
				num ^= this.Type.GetHashCode();
			}
			if (this.reward_ != null)
			{
				num ^= this.Reward.GetHashCode();
			}
			if (this.VisitorId != 0U)
			{
				num ^= this.VisitorId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600E7AF RID: 59311 RVA: 0x0026B50C File Offset: 0x0026970C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600E7B0 RID: 59312 RVA: 0x0026B514 File Offset: 0x00269714
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600E7B1 RID: 59313 RVA: 0x0026B520 File Offset: 0x00269720
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.reward_ != null)
			{
				output.WriteRawTag(10);
				output.WriteMessage(this.Reward);
			}
			if (this.Type != TrainVisitorRewardSendType.TrainVisitorRewardSendNone)
			{
				output.WriteRawTag(32);
				output.WriteEnum((int)this.Type);
			}
			if (this.VisitorId != 0U)
			{
				output.WriteRawTag(120);
				output.WriteUInt32(this.VisitorId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600E7B2 RID: 59314 RVA: 0x0026B598 File Offset: 0x00269798
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Type != TrainVisitorRewardSendType.TrainVisitorRewardSendNone)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Type);
			}
			if (this.reward_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.Reward);
			}
			if (this.VisitorId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.VisitorId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600E7B3 RID: 59315 RVA: 0x0026B608 File Offset: 0x00269808
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(TrainVisitorRewardSendNotify other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Type != TrainVisitorRewardSendType.TrainVisitorRewardSendNone)
			{
				this.Type = other.Type;
			}
			if (other.reward_ != null)
			{
				if (this.reward_ == null)
				{
					this.Reward = new ItemList();
				}
				this.Reward.MergeFrom(other.Reward);
			}
			if (other.VisitorId != 0U)
			{
				this.VisitorId = other.VisitorId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600E7B4 RID: 59316 RVA: 0x0026B684 File Offset: 0x00269884
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600E7B5 RID: 59317 RVA: 0x0026B690 File Offset: 0x00269890
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 10U)
				{
					if (num != 32U)
					{
						if (num != 120U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.VisitorId = input.ReadUInt32();
						}
					}
					else
					{
						this.Type = (TrainVisitorRewardSendType)input.ReadEnum();
					}
				}
				else
				{
					if (this.reward_ == null)
					{
						this.Reward = new ItemList();
					}
					input.ReadMessage(this.Reward);
				}
			}
		}

		// Token: 0x04005B99 RID: 23449
		private static readonly MessageParser<TrainVisitorRewardSendNotify> _parser = new MessageParser<TrainVisitorRewardSendNotify>(() => new TrainVisitorRewardSendNotify());

		// Token: 0x04005B9A RID: 23450
		private UnknownFieldSet _unknownFields;

		// Token: 0x04005B9B RID: 23451
		public const int TypeFieldNumber = 4;

		// Token: 0x04005B9C RID: 23452
		private TrainVisitorRewardSendType type_;

		// Token: 0x04005B9D RID: 23453
		public const int RewardFieldNumber = 1;

		// Token: 0x04005B9E RID: 23454
		private ItemList reward_;

		// Token: 0x04005B9F RID: 23455
		public const int VisitorIdFieldNumber = 15;

		// Token: 0x04005BA0 RID: 23456
		private uint visitorId_;
	}
}
